claude -p "query" 命令允许您通过 SDK 执行查询,然后立即退出。这是非交互模式,适合脚本和自动化场景。
命令语法#
bash
功能描述#
使用 -p(--print)标志,Claude Code 会:
- 处理您提供的查询
- 通过 SDK 执行查询
- 打印响应结果
- 立即退出,不进入交互模式
这是程序化使用 Claude Code 的主要方式,特别适合:
- 脚本和自动化
- CI/CD 流程
- 批处理任务
- 集成到其他工具
使用示例#
基本用法#
bash
执行查询,打印结果,然后退出。
代码生成#
bash
生成快速排序算法代码,打印结果,然后退出。
代码分析#
bash
分析代码的时间复杂度,打印结果,然后退出。
处理管道内容#
bash
将日志文件内容通过管道传递给 Claude Code,请求解释,然后退出。
结合输出格式#
bash
以 JSON 格式输出分析结果,便于脚本解析。
输出格式#
-p 标志支持多种输出格式,可以通过 --output-format 标志指定:
text 格式(默认)#
bash
输出纯文本格式的响应。
json 格式#
bash
输出 JSON 格式的响应,便于程序解析。
stream-json 格式#
bash
输出流式 JSON,可以实时处理响应。
使用场景#
1. 脚本自动化#
bash
在脚本中使用 Claude Code 进行代码审查。
2. CI/CD 集成#
yaml
在 CI/CD 流程中自动进行代码审查。
3. 批处理#
sh
批量处理多个文件。
高级用法#
跳过权限提示#
bash
跳过权限提示(谨慎使用),完全自动化执行。
注意事项#
- 非交互模式:
-p标志不会进入交互模式,执行完查询后立即退出 - 输出格式:建议使用
--output-format json便于脚本解析 - 错误处理:脚本中应该处理可能的错误和异常
- API 限制:频繁调用可能触发 API 速率限制
与交互模式的对比#
| 特性 | 交互模式 | 打印模式(-p) |
|---|---|---|
| 会话保持 | 是 | 否 |
| 多轮对话 | 是 | 否 |
| 上下文保持 | 是 | 否 |
| 脚本友好 | 否 | 是 |
| 自动化支持 | 有限 | 优秀 |
| 实时交互 | 是 | 否 |
最佳实践#
- 使用 JSON 输出:便于脚本解析和处理
- 错误处理:在脚本中添加错误处理逻辑
- 结果验证:验证返回的结果是否符合预期
- 日志记录:记录查询和结果,便于调试和审计
相关命令#
claude:启动交互式 REPLclaude "query":使用初始提示启动 REPLclaude -c:继续最近的对话--output-format:指定输出格式
SDK 文档#
有关程序化使用 Claude Code 的更多详情,请参阅官方 SDK 文档。